/**
 * @Author: linzp
 * @Date: 2021/10/13/15:13
 * 适配器模式 主要分两种 1、类的继承实现 2、对象组合方式实现
 * 什么是适配器 比如 220V转110V的转接头就是适配器
 */
public class Demo {

    // 目标接口，或称为标准接口
    interface Target {
        public void request();
    }

    // 原始需要适配的类，只提供普通功能
    static class ConcreteTarget implements Target {
        @Override
        public void request() {
            System.out.println("普通类 220V");
        }
    }

    // 适配成的类
    static class Adaptee {
        public void specificRequest() {
            System.out.println("被适配类具有 110V 功能...");
        }
    }

    //适配器
    static class Adaptter extends Adaptee implements Target{
        @Override
        public void request() {
            super.specificRequest();//继承父类的适配
        }
    }

    public static void main(String[] args) {
        Target concreteTarget = new ConcreteTarget();//220V
        Target adaptter = new Adaptter();//110V

        concreteTarget.request();//普通类 220V
        adaptter.request();//  被适配类具有 110V 功能...

    }

}